package entradaSaida

import ("os"; "bufio"; "strconv"; "strings")

//Retorna um inteiro lido da entrada se este estiver no intervalo [1,20], senao retorna -1
func ReadInt() int{
	line, _ := (bufio.NewReader(os.Stdin)).ReadString('\n');
	linhaConvertida, _ := strconv.Atoi(strings.TrimSpace(line));
	return linhaConvertida;
		
	
}

//Retorna uma flag (em string) que confirma ("s") ou nao ("n") uma operacao; se o usuario digitar algo invalido, retorna "t".
func ReadString() string {
	line, _ := (bufio.NewReader(os.Stdin)).ReadString('\n');
	linhaConvertida := strings.ToUpper(strings.TrimSpace(line));
	switch linhaConvertida{
		case "S":    return "s";
		case "SIM":  return "s";
		case "N":    return "n";
		case "NAO":  return "n";
		default:     return "t";
	}
	return "t";
}

//Retorna true se o usuario digitou <enter> (""), false, caso contrario.
func ReadEnter() bool {
	line, _ := (bufio.NewReader(os.Stdin)).ReadString('\n');
	if (strings.TrimSpace(line) == "") {
		return true;
	}
	return false;
}




